/*
 * matrix_math.h
 *
 */
#ifndef __MATRIX_MATH_H_
#define __MATRIX_MATH_H_

#ifdef  __cplusplus
extern "C" {
#endif		/* __cplusplus */

	
int Matrix_NUM_Check(unsigned char row, unsigned char column, double *Matrix_Target);
void Matrix_Multiple(unsigned char row, unsigned char mid, unsigned char column, double *Matrix_Target, double *Matrix_Source_A, double *Matrix_Source_B);
void Matrix_Addition(unsigned char row, unsigned char column, double *Matrix_Target, double *Matrix_Source_A, double *Matrix_Source_B);
void Matrix_Subtraction(unsigned char row, unsigned char column, double *Matrix_Target, double *Matrix_Source_A, double *Matrix_Source_B);
void Matrix_Multiple_Const(unsigned char row, unsigned char column, double *Matrix_Target, double *Matrix_Source, double value);
void Matrix_Transfer(unsigned char row, unsigned char column, double *Matrix_Target, double *Matrix_Source);


#ifdef __cplusplus
}
#endif	/* __cplusplus */
#endif	/* __MATRIX_MATH_H_ */
/** @} */